package cn.com.chengq.model;


import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

import javax.annotation.Resource;

@Component
public class Student {

    /**
     * ${code @Value} 用于注入基本类型的数据，可以使用在字段和setter方法上面。
     */
    @Value("小白鼠")
    private String name;

    @Value("2")
    private int age;

    /**
     * Autowired是Spring提供的注解，而Resource是JDK提供注解
     * Resource默认是byName方式注入，如果按名称不能注入，则采取按类型注入。
     * Resource在JDK1.8中有提供，JDK17中已经不提供了。
     * 本例中先查找school名称的Bean，如果没有再按照类型查找
     * 如果指定了Resource的name属性，则只按照名称查找
     */
    @Resource
    private School school;

    @Resource
    private School school101;

    @Resource(name = "school")
    private School school201;


    @Override
    public String toString() {
        return "Student{" +
                "name='" + name + '\'' +
                ", age=" + age +
                ", school=" + school +
                ", school101=" + school101 +
                ", school201=" + school201 +
                '}';
    }
}
